package com.niiwoo.civet.user.service.customsystem;

import com.niiwoo.civet.user.dto.request.customsystem.QueryBorrowerUserRequestDTO;
import com.niiwoo.civet.user.dto.request.customsystem.QueryLastProjectRequestDTO;
import com.niiwoo.civet.user.dto.request.customsystem.QueryUserListForSyncRequestDTO;
import com.niiwoo.civet.user.dto.request.customsystem.QueryUserListRequestDTO;
import com.niiwoo.civet.user.dto.response.customsystem.QueryBorrowerUserResponseDTO;
import com.niiwoo.civet.user.dto.response.customsystem.QueryLastProjectResponseDTO;
import com.niiwoo.civet.user.dto.response.customsystem.QueryUserListForSyncResponseDTO;
import com.niiwoo.civet.user.dto.response.customsystem.QueryUserListResponseDTO;

import java.util.List;

/**
 * 客服系统用户服务接口
 * @author TomXue
 * @since 2018-02-06
 */
public interface CustomSystemUserDubboService {
    /**
     * 查询用户列表
     * @param queryUserListRequestDTO
     * @return
     */
    List<QueryUserListResponseDTO> queryUserList(QueryUserListRequestDTO queryUserListRequestDTO);

    /**
     * 同步用户信息接口
     * @param queryUserListForSyncRequestDTO
     * @return
     */
    List<QueryUserListForSyncResponseDTO> queryUserListForSync(QueryUserListForSyncRequestDTO queryUserListForSyncRequestDTO);

    /**
     * 查询最近一笔借款
     * @param queryLastProjectRequestDTO
     * @return
     */
    default QueryLastProjectResponseDTO queryUserLastProject(QueryLastProjectRequestDTO queryLastProjectRequestDTO){
        throw new UnsupportedOperationException("unimplemented");
    }
    
    /**
     * 通过紧急联系人，查询借款人列表
     * @param reqDTO
     * @return
     */
	default List<QueryBorrowerUserResponseDTO> queryBorrowerUserListByLinkManPhoneNum(QueryBorrowerUserRequestDTO reqDTO) {
		throw new UnsupportedOperationException("unimplemented");
	}
}
